package top.frsf.pattern.c_behavioral.c_observer.normal.pub;

import top.frsf.pattern.c_behavioral.c_observer.normal.sub.ISubscribe;

/**
 * @author FRSF
 * @since 2024/9/4 22:37
 */
public interface IPublish {

    /**
     * 添加订阅者
     *
     * @param subscribe 订阅者
     */
    void addSubscribe(ISubscribe subscribe);

    /**
     * 移除订阅者
     *
     * @param subscribe 订阅者
     */
    void removeSubscribe(ISubscribe subscribe);

    /**
     * 通知所有订阅者
     */
    void notifyAllSubscribes(String msg);
}
